package cn.hxzy.service.impl;

//import cn.hxzy.client.ChapterClient;
//import cn.hxzy.client.CourseClient;
//import cn.hxzy.client.UserClassClient;
import cn.hxzy.domain.*;
import cn.hxzy.domain.vo.SCOchapter;
import cn.hxzy.domain.vo.SCOsection;
import cn.hxzy.domain.vo.SelectCourseAndStudy;
import cn.hxzy.domain.vo.SelectCourseOne;
import cn.hxzy.mapper.StudyProgressMapper;
import cn.hxzy.mapper.ZDYMapper;
import cn.hxzy.service.StudentService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.ArrayList;
import java.util.List;

@Service
public class StudentServiceImpl implements StudentService {
    @Autowired
    private ZDYMapper zdyMapper;
    @Autowired
    private StudyProgressMapper studyProgressMapper;

    //以下是远程调用
//    @Autowired
//    private CourseClient courseClient;
//    @Autowired
//    private UserClassClient userClassClient;
//    @Autowired
//    private ChapterClient chapterClient;


    @Override
    public Integer count(Integer userId, Integer taskId) {
        return zdyMapper.countByStudentIdAndTaskId(userId, taskId);
    }

    //修改提交次数
//    @Override
//    public boolean updateSubmitCount(TaskManager taskManager) {
//        Integer i = zdyMapper.updatecount(
//                taskManager.getStudentId(),
//                taskManager.getTaskId(),
//                taskManager.getSubmitCount());
//        if (i>0)return true;
//        return false;
//    }

//    @Override
//    public List<SelectCourseAndStudy> selectCourseAndStudy(Integer userId) {
//        //根据学生编号查班级编号
//        Integer classId = userClassClient.selectClassById().getData().get(0).getClassId();
//        //根据班级编号查所有课程编号集合
//        List<ClassMenu> c = userClassClient.selectList(classId);
//        //根据课程编号查课程全部信息和该课程的学习进度
//        List<SelectCourseAndStudy> selectCourseAndStudyList = new ArrayList<>();
//        c.forEach(arr->{
//            Integer courseId=arr.getCourseId();
//            //查询单个课程信息
//            Course course = courseClient.getCourseById(courseId).getData();
//            //查询该课程的学习进度
//            StudyProgress studyProgress = studyProgressMapper.selectOne(new QueryWrapper<StudyProgress>().eq("course_id", courseId).eq("user_id", userId));
//            //将查询到的这两组信息存到SelectCourseAndStudy对象中，并把该对象添加到对象集合
//            SelectCourseAndStudy selectCourseAndStudy = new SelectCourseAndStudy();
//            selectCourseAndStudy.setCourse(course);
//            selectCourseAndStudy.setLearnTime(studyProgress.getLearnTime());
//            selectCourseAndStudyList.add(selectCourseAndStudy);
//        });
//        return selectCourseAndStudyList;
//    }



//    @Override
//    //根据课程编号查询该课程详细信息和学习进度
//    public void selectCourseOne(Integer courseId) {
//        //返回的全部信息对象
//        SelectCourseOne selectCourseOne = new SelectCourseOne();
//        //查询该课程信息
//        Course course = courseClient.getCourseById(courseId).getData();
//        selectCourseOne.setCourse(course);
//        //查询该课程的所有章节编号
//        List<Chapter> chapterList = chapterClient.courseList(courseId).getData();
//          //-查询章节的具体信息 循环1
//        chapterList.forEach(arr->{
//            SCOchapter scochapter = new SCOchapter();
//            scochapter.setChapter(arr);//添加章节信息
//            Integer chapterId = arr.getChapterId();
//            //-查询每个章节的小节具体信息 循环1
//            List<Section> sectionList = courseClient.sectionList(chapterId).getData();
//            //-查询小节具体信息 循环2
//            List<SCOsection> scOsectionList = new ArrayList<>();
//            sectionList.forEach(arr2->{
//                SCOsection scosection = new SCOsection();
//                scosection.setSection(arr2);//添加小节信息
//                //--查询课件、视频和视频进度、习题、作业对象集合
//                   //没有人提供接口
//                Integer sectionId = arr2.getSectionId();
//                //将小节信息vo对象存放到章节信息vo对象中
//                scochapter.setList(scOsectionList);
//            });
//
//        });
//
//
//    }
}
